package com.example.analysis.mapper;

import com.example.analysis.entity.StudentAbility;
import com.example.analysis.entity.StudentWarning;
import com.example.analysis.dto.ClusterScoreDto;
import com.example.analysis.entity.Student;
import com.example.analysis.entity.StudentExample;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface StudentDao {
    Student getStudentById(String studentId);
    // 获取班级学生能力维度数据
    List<StudentAbility> getClassStudentAbilities(String classId);

    // 获取预警学生列表
    List<StudentWarning> getStudentsWithWarnings(String classId);

    // 保存学业指导意见
    void saveGuidance(String studentId, String guidance);

    long countByExample(StudentExample example);

    int deleteByExample(StudentExample example);

    int deleteByPrimaryKey(String studentId);

    int insert(Student record);

    int insertSelective(Student record);

    List<Student> selectByExample(StudentExample example);

    Student selectByPrimaryKey(String studentId);

    int updateByExampleSelective(@Param("record") Student record, @Param("example") StudentExample example);

    int updateByExample(@Param("record") Student record, @Param("example") StudentExample example);

    int updateByPrimaryKeySelective(Student record);

    int updateByPrimaryKey(Student record);


    List<ClusterScoreDto> getScoreSet(String className, String subName);
}
